#!/usr/bin/env python
# -*- coding: UTF-8 -*-  

#--------- 外部模块处理<<开始>> ---------#

#-----系统自带必备模块引用-----

import datetime # 日期模块
time_start = datetime.datetime.now()

import sys # 操作系统模块1
import os # 操作系统模块2
import types # 数据类型
import time # 时间模块
import re # 正则表达式

#-----系统外部需安装库模块引用-----


#-----DIY自定义库模块引用-----
#sys.path.append("..")
import config #系统配置参数
import diy.inc_sys as inc_sys #自定义系统级功能模块 
import diy.inc_conn as inc_conn #自定义数据库操作模块
import diy.inc_hash as inc_hash # 基本自定义hash模块
import diy.inc_file as inc_file # 基本自定义文件模块

#--------- 外部模块处理<<结束>> ---------#


#--------- 内部模块处理<<开始>> ---------#

# ---外部参变量处理---

# shell模式下参数处理
dic_args = {} # 参数字典
dic_args = inc_sys.args2dic(sys.argv)

# 操作参数
if ("action" in dic_args):

    action = dic_args["action"]
    
else:

    action = ""
    
# 指定数据库调用记录数
if ("numb_rs" in dic_args):

    numb_rs = int(dic_args["numb_rs"])
    
else:

    numb_rs = 0

# 数据库操作指令
if ("sql_is" in dic_args):

    sql_is = dic_args["sql_is"].replace("@~@","=")
    
else:

    sql_is = ""

# ---全局变量处理---

# 打开数据连接对象
if (config.dic_config["database_if"] == "1"):
    
    #rs_sqlite_file = Conn_sqlite3(config.path_main + config.dic_config["path_sqlite"],0) # 生成文件数据库实例
    rs_way_mysql = inc_conn.Conn_mysql(config.dic_config["host_mysql"],config.dic_config["user_mysql"],config.dic_config["pwd_mysql"], config.dic_config["name_mysql_head"] + "_way_" + config.dic_config["name_mysql_after"], int(config.dic_config["port_mysql"])) # 生成MYSQL数据库way方法实例
    rs_basedata_mysql = inc_conn.Conn_mysql(config.dic_config["host_mysql"],config.dic_config["user_mysql"],config.dic_config["pwd_mysql"], config.dic_config["name_mysql_head"] + "_basedata_" + config.dic_config["name_mysql_after"], int(config.dic_config["port_mysql"])) # 生成MYSQL数据库基础数据实例
    #rs_log_mysql = inc_conn.Conn_mysql(config.dic_config["host_mysql"],config.dic_config["user_mysql"],config.dic_config["pwd_mysql"], config.dic_config["name_mysql_head"] + "_log_" + config.dic_config["name_mysql_after"], int(config.dic_config["port_mysql"])) # 生成MYSQL数据库向量数据实例
    #rs_index_mysql = inc_conn.Conn_mysql(config.dic_config["host_mysql"],config.dic_config["user_mysql"],config.dic_config["pwd_mysql"], config.dic_config["name_mysql_head"] + "_index_" + config.dic_config["name_mysql_after"], int(config.dic_config["port_mysql"])) # 生成MYSQL数据库索引数据实例

#res, rows = rs_basedata_mysql.read_sql(sql) # 数据库操作示例 查询
#update_if = rs_basedata_mysql.write_sql(sql_log) # 数据库操作示例 修改

# ---本模块内部类或函数定义区

# 说明字典
dic_note = {
"版权":["丽垚人工智能工作室"],
"作者":["集体","吉更"],
"初创时间":["2022年10月"],
"功能":["自然语言处理模块"],
}

# 主过程子函数
def run_it():
    
    result_p = "hello world!"
    inc_sys.version(dic_p=dic_note) # 打印版本
    
    print ("\naction:",action," -- numb_rs:",numb_rs," -- sql_is:",sql_is,"\n")
    
    # 数据训练流程
    if (action == "do_it"):

        result_p = "测试2"
        #1 子步骤1
        #2 子步骤2
        #3 子步骤3
        #4 子步骤4
        #5 子步骤5
        #6 子步骤6
    
    return result_p # 调试用

#--------- 内部模块处理<<结束>> ---------#

#---------- 过程<<开始>> -----------#

# 过程函数
def main():

    #1 过程一
    print(run_it())
    #2 过程二
    
    #3 收尾
    
    if (config.dic_config["database_if"] == "1"):
    
        #rs_sqlite_file.close_cur() #关闭数据游标
        #rs_sqlite_file.close() #关闭数据连接
        #rs_way_mysql.close_cur() #关闭数据游标
        rs_way_mysql.close() #关闭数据连接
        #rs_basedata_mysql.close_cur() #关闭数据游标
        rs_basedata_mysql.close() #关闭数据连接
        #rs_log_mysql.close_cur() #关闭数据游标
        #rs_log_mysql.close() #关闭数据连接
        #rs_index_mysql.close_cur() #关闭数据游标
        #rs_index_mysql.close() #关闭数据连接
    
if __name__ == '__main__':

    main()
    
#---------- 主过程<<结束>> -----------#

print ("\n本次调用总计耗时：" + str(inc_sys.time_cost(time_start)) + "秒\n")